/*
 *         (C) COPYRIGHT Ingenic Limited
 *              ALL RIGHT RESERVED
 *
 * File：        common_utils.h
 * Author：      lzwang
 * Create Time： 2024-04-08 20:15:40
 * Description:
 */
#ifndef __MAGIK_URANUS_COMMON_COMMON_UTILS_H__
#define __MAGIK_URANUS_COMMON_COMMON_UTILS_H__

#include "common_type.h"

namespace magik {
namespace uranus {
ALG_PACK_START

typedef struct URANUS_API Bbox_t {
    float x0;
    float y0;
    float x1;
    float y1;
} Box_t;

typedef struct URANUS_API ObjBbox_t {
    Bbox_t box;
    float score;
    int class_id;
} ObjectBbox_t;

enum class NmsType : int URANUS_API { HARD_NMS = 0, SOFT_NMS = 1 };
enum class DetectorType : int URANUS_API { YOLOV3 = 0, YOLOV5 = 1, YOLOV8 = 2 };

typedef NmsType NmsType_t;
typedef DetectorType DetectorType_t;
ALG_PACK_END
} // namespace uranus
} // namespace magik
#endif /* __MAGIK_URANUS_COMMON_COMMON_UTILS_H__ */
